Это небольшая шпаргалка по командам для докера. Тут собраны основные команды.
images (образы) - Схемы нашего приложения, которые являются основой контейнеров. В примере выше мы использовали команду docker pull чтобы скачать образ busybox.
Containers (контейнеры) - Создаются на основе образа и запускают само приложение. Мы создали контейнер командой docker run, и использовали образ busybox, скачанный ранее. Список запущенных контейнеров можно увидеть с помощью команды docker ps.
Docker Daemon (демон Докера) - Фоновый сервис, запущенный на хост-машине, который отвечает за создание, запуск и уничтожение Докер-контейнеров. Демон — это процесс, который запущен на операционной системе, с которой взаимодействует клиент.
Docker Client (клиент Докера) - Утилита командной строки, которая позволяет пользователю взаимодействовать с демоном. Существуют другие формы клиента, например, Kitematic, с графическим интерфейсом.
Docker Hub - Регистр Докер-образов. Грубо говоря, архив всех доступных образов. Если нужно, то можно содержать собственный регистр и использовать его для получения образов.
Base images (базовые образы) — это образы, которые не имеют родительского образа. Обычно это образы с операционной системой, такие как ubuntu, busybox или debian.
Child images (дочерние образы) — это образы, построенные на базовых образах и обладающие дополнительной функциональностью.
#показать список образов в системе
docker images
#запустим Докер-контейнер busybox
docker run busybox
#помощь по команде
docker run --help
#Команда run с флагом -it подключает интерактивный tty в контейнер.
#Теперь можно запускать сколько угодно много команд внутри
docker run -it busybox sh
#выводит на экран список всех запущенных контейнеров.
docker ps
#виден список всех контейнеров, которые мы запускали
docker ps -a
#скопируйте ID (можно несколько) из вывода выше и
#передайте параметрами в команду
docker rm 305297d7a235
#закрытые докеры
docker ps -a -q -f status=exited
#удаляет все контейнеры, у которых статус exited.
#Флаг -q возвращает только численные ID,
#а флаг -f фильтрует вывод на основе предоставленных условий
docker rm $(docker ps -a -q -f status=exited)
#также можно удалять ненужные образы командой
docker rmi
#скачать образ напрямую + установка
docker run prakhar1989/static-site
docker run prakhar1989/flask-app
#флаг -d открепит (detach) терминал, флаг -P сделает все открытые
#порты публичными и случайными, и, наконец,
#флаг --name это имя, которое мы хотим дать контейнеру
docker run -d -P --name static-site prakhar1989/static-site
docker run -d -P --name flask-app prakhar1989/flask-app
#увидеть порты
docker port static-site
#обозначить свой порт. Клиент будет перенаправлять соединения на него
docker run -p 8888:80 prakhar1989/static-site
#остановить контейнер
docker stop id
#остановить все контейнеры
docker stop $(docker ps -q)
#искать образ. происходит поиск по всему dockerhub
docker search prakhar1989
#Команда docker build занимается сложной задачей
#создания образа на основе Dockerfile.
#Команда принимает опциональный тег с флагом -t и
#путь до директории, в которой лежит Dockerfile
docker build -t prakhar1989/catnip .
#должен возникнуть новый образ
docker images
#авторизация на dockerhub
docker login
#опубликовать наш образ в регистре
docker push prakhar1989/catnip
#показывает все сети
docker network ls
#сеть, в которой контейнеры запущены по умолчанию
docker network inspect bridge
#создадим свою сеть foodtrucks
docker network create foodtrucks
#удалим сеть foodtrucks
docker network rm foodtrucks
#посмотреть запущенные процесcы в контейнере
docker top 55966b4fcb9b
#возвращает JSON документ содержащий конфигурацию и другую полезную информацию
docker inspect name_image
#поиск образов
docker search django
#скачивание образа
docker pull [ОПЦИИ] [ПУТЬ/]ИМЯ_ОБРАЗА[:ТЕГ]
docker pull centos
#выгрузить (push) репозиторий в реестр соответствующий его имени и тегу
docker push yourname/newimage
#установить Docker Compose
pip install docker-compose
#версия
docker-compose version
#запуск докера из папки, флаг -d открепит (detach) терминал
docker-compose up
#остановим запущенные сервисы
docker-compose stop